Skip to content

fix: merge tsconfig extends arrays in order like tsc - #893

Merged
rowkav09 merged 1 commit into
mainfrom
ship/862
Oct 9, 2026
Merged

rowkav09 merged 1 commit into
mainfrom
ship/862

Conversation

@rowkav09

@rowkav09 rowkav09 commented Oct 9, 2026

Copy link
Copy Markdown
Member

A tsconfig that extends an array of bases kept only the last resolvable
base, so baseUrl and paths inherited from earlier bases were lost. Every
resolvable base is now merged in array order and a later base replaces
only the options it defines, as tsc does. Cycles are cut per path, and
depth and breadth are bounded (MAX_EXTENDS_DEPTH, and 32 distinct bases
per resolution); past either limit the unmerged options stay unknown and a
run note says so. Adds regression tests.

Fixes #862

A tsconfig that extends an array of bases kept only the last resolvable
base, so baseUrl and paths inherited from earlier bases were lost. Every
resolvable base is now merged in array order and a later base replaces
only the options it defines, as tsc does. Cycles are cut per path, and
depth and breadth are bounded (MAX_EXTENDS_DEPTH, and 32 distinct bases
per resolution); past either limit the unmerged options stay unknown and a
run note says so. Adds regression tests.

Fixes #862
@rowkav09
rowkav09 merged commit 94fd36d into main Oct 9, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

JavaScript: multiple tsconfig extends bases lose inherited alias settings

1 participant